package com.heima.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.dtos.ArticleHomeDto;
import com.heima.model.article.dtos.ArticleInfoDto;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.mess.ArticleVisitStreamMess;
import org.springframework.web.bind.annotation.RequestBody;

public interface ApArticleService extends IService<ApArticle> {

    /**
     * 加载文章列表
     * @param articleHomeDto
     * @param type 1-加载更多 2-加载最新
     * @return
     */
    public ResponseResult load(ArticleHomeDto articleHomeDto, Short type);

    /**
     * 保存app端相关文章
     * @param articleDto
     * @return
     */
    public ResponseResult saveArticle(ArticleDto articleDto);

    /**
     * 查看文章，数据回显
     * @param articleInfoDto
     * @return
     */
    public ResponseResult loadArticleBehavior(ArticleInfoDto articleInfoDto);

    /**
     * 加载文章列表
     * @param articleHomeDto
     * @param type 1-加载更多 2-加载最新
     * @param firstPage true-首页 false-非首页
     * @return
     */
    public ResponseResult load2(ArticleHomeDto articleHomeDto, Short type, boolean firstPage);

    /**
     * 更新文章的分值，同时更新缓存中的热点文章数据
     * @param articleVisitStreamMess
     */
    public void updateScore(ArticleVisitStreamMess articleVisitStreamMess);
}
